In a traditional data network, the functions relating to forwarding traffic and determining where to send traffic is done by a single network device. The single network device is commonly said to contain a control plane and a data plane. The traditional integrated approach of the control plane and the data plane being tightly coupled in a single box may result in an overly complicated control plane and complex network management. Due to high complexity, equipment vendors and network operators are often reluctant to initiate changes and the network itself can become fragile and hard to manage over time. This is known to create a large burden and high barrier to new protocol and technology developments.
Software Defined Networking (SDN) is a network architecture that aims at decoupling control plane functions from data plane functions such that separate apparatuses may be utilized for different functions. In the SDN architecture, network intelligence and states are logically centralized, and the underlying network infrastructure is abstracted from the applications. As a result, networking may be simplified and new applications become feasible. For example, network virtualization can be accomplished by implementing it in a software application where the control plane is separated from the data plane. Also, a network administrator of a SDN system may have programmable central control of network traffic without requiring physical access to the system's hardware devices. With these benefits, SDN architecture based systems (referred to as SDN systems or SDN networks exchangeably herein below) are gaining popularity among carriers and enterprises.
FIG. 1 illustrates a common SDN architecture. At the bottom of the SDN architecture is the infrastructure layer 102, which contains one or more network devices 112-118. Network devices in a SDN network are often referred to as data plane nodes or forwarding elements. When the SDN network complies with a protocol known as OpenFlow (OF), defined by the Open Network Foundation (ONF), a data plane node is referred to as an OpenFlow (OF) switch or simply switch. For this specification, the term “data plane node,” “forwarding element”, “OF switch” mean network devices in infrastructure layer 102 for traffic forwarding. Note several versions of OpenFlow standards have been proposed, including a standard dated Oct. 14, 2013, entitled “OpenFlow Switch Specification, version 1.4.0,” which is incorporated by reference in its entirety.
The middle layer of the SDN architecture is the control layer 104. Control layer 104 contains SDN control software 122. Control layer 104 is generally implemented in a SDN controller and it contains centralized intelligence of the SDN network. Instead of hand-coding configurations scattered among thousands of devices, a network operator may configure the SDN controller using SDN control software to deploy new applications and change network behavior in real-time. By centralizing network state in the control layer, the SDN architecture gives a network operator the flexibility to configure, manage, secure, and optimize network resources through managing the SDN controller. In addition, the network operator may change SDN control software for her specific need without relying on a vendor of the underlying network devices 112-118 to change its proprietary software.
The upper layer of the SDN architecture is service layer 106. Service layer 106 may interface with control layer 104 via a set of application programming interfaces (APIs). Service layer 106 contains virtual services 132-134 that may be implemented in the SDN network. The virtual services include routing, multicast, security, access, control, bandwidth management, traffic engineering, quality of service, processor and storage optimization, energy use, and all forms of policy management. Thus, a service provider may provide virtual services to a SDN network without being tied to the details of implementation in SDN software and/or network devices. With the abstraction of service layer, the service provider may provide unified services across networks with different implements by different vendors.
Besides SDN, another emerging networking trend is Network Function Virtualization (NFV). NFV leverages standard IT virtualization technology to consolidate many network equipment types onto industrial standard high volume servers, switches, and storage, which could be located in datacenters, network nodes, and in the end user premises. Network function then can be implemented in software, running on a range of industrial standard hardware devices, which can be moved to, or instantiated in, various locations in the network as required. NFV can be implemented using SDN, where the network functions are implemented in the server layer (such as server layer 106 in FIG. 1), and the industrial standard hardware devices are implemented in the SDN control layer and the infrastructure layer.
Within the layered structure of SDN or layered implementation of NFV, a control layer such as SDN control layer 104 plays a central role to manage traffic forwarding and also provide the virtual services to the underlying data plane nodes. Hardware in the control layer such as SDN controller in control layer 104 needs to interact with a number of network devices in infrastructure layer 102, and how to make the control layer 104 intelligently prioritize traffic between control layer 104 and infrastructure layer 102 so that network devices in infrastructure may efficiently forward packet is a challenge.